package org.javaweb.cms_web.service;

import org.javaweb.cms_web.mapper.UserMagagementMapper;
import org.javaweb.cms_web.mapper.UserMapper;
import org.javaweb.cms_web.model.UserDTO1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserMagagementService {
    @Autowired
    private UserMagagementMapper userMagagementMapper;

    // 获取待审核和已拒绝的用户
    public List<UserDTO1> getUsersForReview() {
        return userMagagementMapper.findUsersForReview();  // 查找 status = 0 (待审核) 或 status = 2 (已拒绝) 的用户
    }

    // 更新用户状态（通过或拒绝）
    public boolean updateUserStatus(Integer userId, int status, String auditInfo) {
        return userMagagementMapper.updateUserStatus(userId, status, auditInfo) > 0;
    }

    // 根据昵称模糊搜索已通过的用户
    public List<UserDTO1> findUsersForReviewAndSearch(String nickname) {
        if (nickname != null && !nickname.isEmpty()) {
            return userMagagementMapper.findUsersByNicknameAndStatus(nickname, 1);  // 状态为 1，即已通过的用户
        } else {
            return userMagagementMapper.findUsersForReview();  // 如果没有搜索条件，显示待审核或已拒绝的用户
        }
    }

    // 注销用户：将用户状态设置为 3（已注销）
    public boolean deactivateUser(Integer userId) {
        return userMagagementMapper.deleteUserById(userId) > 0;
    }

    // 重置用户密码：生成新密码并保存
    public boolean resetPassword(Integer userId) {
        String newPassword = generateRandomPassword();
        return userMagagementMapper.updateUserPassword(userId, newPassword) > 0;
    }

    // 生成随机密码
    private String generateRandomPassword() {
        // 简单的随机密码生成，可以根据实际需求调整
        return "Temp1234";
    }
}
